package com.abewy.android.apps.klyph.core.fql.serializer; import org.json.JSONObject; import com.abewy.android.apps.klyph.core.fql.Location; import com.abewy.android.apps.klyph.core.fql.Page; import com.abewy.android.apps.klyph.core.fql.Page.Cover; import com.abewy.android.apps.klyph.core.fql.Page.Hours; import com.abewy.android.apps.klyph.core.fql.Page.Parking; import com.abewy.android.apps.klyph.core.fql.Page.PaymentOptions; import com.abewy.android.apps.klyph.core.fql.Page.RestaurantServices; import com.abewy.android.apps.klyph.core.fql.Page.RestaurantSpecialties; import com.abewy.android.apps.klyph.core.graph.GraphObject; public class PageDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { Page page = new Page(); deserializePrimitives(page, data); page.setCategories(deserializeStringList(getJsonArray(data, "categories"))); page.setFood_styles(deserializeStringList(getJsonArray(data, "food_styles"))); page.setPic_cover((Cover) new CoverDeserializer().deserializeObject(getJsonObject(data, "pic_cover"))); page.setLocation((Location) new LocationDeserializer().deserializeObject(getJsonObject(data, "location"))); page.setHours((Hours) new HoursDeserializer().deserializeObject(getJsonObject(data, "hours"))); page.setParking((Parking) new ParkingDeserializer().deserializeObject(getJsonObject(data, "parking"))); page.setPayment_options((PaymentOptions) new PaymentOptionsDeserializer().deserializeObject(getJsonObject(data, "payment_options"))); page.setRestaurant_services((RestaurantServices) new RestaurantServicesDeserializer().deserializeObject(getJsonObject(data, "restaurant_services"))); page.setRestaurant_specialties((RestaurantSpecialties) new RestaurantSpecialtiesDeserializer().deserializeObject(getJsonObject(data, "restaurant_specialties"))); return page; } private static class CoverDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { Cover cover = new Cover(); deserializePrimitives(cover, data); return cover; } } private static class HoursDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { Hours hours = new Hours(); deserializePrimitives(hours, data); return hours; } } private static class ParkingDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { Parking parking = new Parking(); deserializePrimitives(parking, data); return parking; } } private static class PaymentOptionsDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { PaymentOptions paymentOptions = new PaymentOptions(); deserializePrimitives(paymentOptions, data); return paymentOptions; } } private static class RestaurantServicesDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { RestaurantServices restaurantServices = new RestaurantServices(); deserializePrimitives(restaurantServices, data); return restaurantServices; } } private static class RestaurantSpecialtiesDeserializer extends Deserializer { @Override public GraphObject deserializeObject(JSONObject data) { RestaurantSpecialties restaurantSpecialties = new RestaurantSpecialties(); deserializePrimitives(restaurantSpecialties, data); return restaurantSpecialties; } } }